Biological sequence distance explorer system providing user visualization of genomic distance between a set of genomes in a dynamic zoomable fashion

ABSTRACT

One embodiment provides for a method including determining, by at least one processor, sequence-sequence distances for a biological sequence collection. The at least one processor generates a matrix Mij of the sequence-sequence distances, where i and j are positive integers. The at least one processor further generates clusters for the matrix Mij by performing hierarchical clustering. A self-consistent taxonomy is created from the clusters. A visual heat map display of the matrix Mij is selectively controlled using metadata, zoom input and opacity input.

BACKGROUND

A wide variety of industrial and public health applications requirecomparing genomes from a set of organisms with each other and with alarge database of reference organisms. Medical and Food Safetyindustries depend on technologies such as PCR (polymerase chainreaction) to classify organisms based on primers (sequences) designed tohit a particular target strain and no other taxa. Identification of newprimer sequences, classifying organisms, tracing outbreaks, andidentifying pathogenic organisms in a patient or food sample are turningto Whole Genome Sequencing and whole genome or target distance metricsusing a growing library of reference genomes. Today there are over360,000 complete bacterial genomes publicly available.

SUMMARY

Embodiments relate to selectively controlling visual content ofbiological sequence-sequence distances for a complete biologicalcollection. One embodiment provides for a method including determining,by at least one processor, sequence-sequence distances for a biologicalsequence collection. The at least one processor generates a matrixM_(ij) of the sequence-sequence distances, where i and j are positiveintegers. The at least one processor further generates clusters for thematrix M_(ij) by performing hierarchical clustering. A self-consistenttaxonomy is created from the clusters. A visual heat map display of thematrix M_(ij) is selectively controlled using metadata, zoom input andopacity input.

These and other features, aspects and advantages of the presentinvention will become understood with reference to the followingdescription, appended claims and accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed incolor. Copies of this patent or patent application publication withcolor drawing(s) will be provided by the Office upon request and paymentof the necessary fee.

FIG. 1 depicts a cloud computing environment, according to anembodiment;

FIG. 2 depicts a set of abstraction model layers, according to anembodiment;

FIG. 3 is a network architecture for a multi-master distributed datamanagement system, according to an embodiment;

FIG. 4 shows a representative hardware environment that may beassociated with the servers and/or clients of FIG. 1 , according to anembodiment;

FIG. 5 is a block diagram illustrating a distributed system forselectively controlling visual content of biological sequence-sequencedistances for a complete biological collection, according to oneembodiment;

FIG. 6 illustrates a block diagram for a process to construct aself-consistent taxonomy, according to one embodiment;

FIG. 7 illustrates an example static heat map image of size 1250×1250showing whole genome-genome distance between all Salmonella genomes inthe public RefSeq library, according to one embodiment;

FIG. 8 illustrates an example sequence explorer running as a webapplication (in a browser), according to one embodiment;

FIG. 9 illustrates the example sequence explorer of FIG. 8 shown at afirst increased magnification, according to one embodiment;

FIG. 10 illustrates the example sequence explorer of FIG. 8 shown at asecond increased magnification, according to one embodiment;

FIG. 11 illustrates the example sequence explorer of FIG. 8 shown at athird increased magnification, according to one embodiment;

FIG. 12 illustrates the example sequence explorer of FIG. 8 shown at afourth increased magnification, according to one embodiment;

FIG. 13 illustrates an example of the sequence explorer implemented in adiagnostic or clinical application, according to one embodiment;

FIG. 14 illustrates an example of the sequence explorer implemented toverify polymerase chain reaction (PCR) primer design, according to oneembodiment;

FIG. 15 illustrates an example of the sequence explorer with aselectable hue configuration, according to one embodiment;

FIG. 16 illustrates the example of the sequence explorer of FIG. 15 witha particular opacity and hue set, according to one embodiment;

FIG. 17 illustrates the example of the sequence explorer of FIG. 15 withanother opacity and hue set, according to one embodiment;

FIG. 18 illustrates an example graphical user interface (GUI) forinputting a sequence, according to one embodiment;

FIG. 19 illustrates an example GUI for selecting a sequence, accordingto one embodiment; and

FIG. 20 illustrates a block diagram for a process for selectivelycontrolling visual content of biological sequence-sequence distances fora complete biological collection, according to one embodiment.

DETAILED DESCRIPTION

The descriptions of the various embodiments have been presented forpurposes of illustration, but are not intended to be exhaustive orlimited to the embodiments disclosed. Many modifications and variationswill be apparent to those of ordinary skill in the art without departingfrom the scope and spirit of the described embodiments. The terminologyused herein was chosen to best explain the principles of theembodiments, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

It is understood in advance that although this disclosure includes adetailed description of cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Embodiments relate to selectively controlling visual content ofbiological sequence-sequence distances for a complete biologicalcollection. One embodiment provides for a method including determining,by at least one processor sequence-sequence distances for a biologicalsequence collection. The at least one processor generates a matrixM_(ij) of the sequence-sequence distances, where i and j are positiveintegers. The at least one processor further generates clusters for thematrix M_(ij) by performing hierarchical clustering. A self-consistenttaxonomy is created from the clusters. A visual heat map display of thematrix M_(ij) is selectively controlled using metadata, zoom input andopacity input.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines (VMs), and services)that can be rapidly provisioned and released with minimal managementeffort or interaction with a provider of the service. This cloud modelmay include at least five characteristics, at least three servicemodels, and at least four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded and automatically, without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneous,thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or data center).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned and, in some cases, automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active consumer accounts). Resource usage canbe monitored, controlled, and reported, thereby providing transparencyfor both the provider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isthe ability to use the provider's applications running on a cloudinfrastructure. The applications are accessible from various clientdevices through a thin client interface, such as a web browser (e.g.,web-based email). The consumer does not manage or control the underlyingcloud infrastructure including network, servers, operating systems,storage, or even individual application capabilities, with the possibleexception of limited consumer-specific application configurationsettings.

Platform as a Service (PaaS): the capability provided to the consumer isthe ability to deploy onto the cloud infrastructure consumer-created oracquired applications created using programming languages and toolssupported by the provider. The consumer does not manage or control theunderlying cloud infrastructure including networks, servers, operatingsystems, or storage, but has control over the deployed applications andpossibly application-hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is the ability to provision processing, storage, networks, andother fundamental computing resources where the consumer is able todeploy and run arbitrary software, which can include operating systemsand applications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting for loadbalancing between clouds).

A cloud computing environment is a service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 1 , an illustrative cloud computing environment 50is depicted. As shown, cloud computing environment 50 comprises one ormore cloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as private, community,public, or hybrid clouds as described hereinabove, or a combinationthereof. This allows the cloud computing environment 50 to offerinfrastructure, platforms, and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 2 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 2 , a set of functional abstraction layersprovided by the cloud computing environment 50 (FIG. 1 ) is shown. Itshould be understood in advance that the components, layers, andfunctions shown in FIG. 2 are intended to be illustrative only andembodiments of the invention are not limited thereto. As depicted, thefollowing layers and corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, a management layer 80 may provide the functionsdescribed below. Resource provisioning 81 provides dynamic procurementof computing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and genomic distance, diagnostics testing,microbiological testing, clinical testing, and test design processing96. As mentioned above, all of the foregoing examples described withrespect to FIG. 2 are illustrative only, and the invention is notlimited to these examples.

It is understood all functions of one or more embodiments as describedherein may be typically performed by the processing system 300 (FIG. 3 )or the cloud environment 410 (FIG. 4 ), which can be tangibly embodiedas hardware processors and with modules of program code. However, thisneed not be the case for non-real-time processing. Rather, fornon-real-time processing the functionality recited herein could becarried out/implemented and/or enabled by any of the layers 60, 70, 80and 90 shown in FIG. 2 .

It is reiterated that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather, theembodiments of the present invention may be implemented with any type ofclustered computing environment now known or later developed.

Whole genome distances may be rendered as a heat map. A matrix of360,000×360,000 genomes, however, is too large to render on a display orin a simple static image—thus limiting its practical use for exploratorydesign or diagnostic applications. One embodiment provides a dynamicviewer tool that provides for user visualization in a dynamic, zoomablefashion, the genomic distance between a set of genomes, the genomicdistance between target(s) and a large database of genomes fordiagnostic test, microbiological test, clinical test, test designapplications, etc.

FIG. 3 illustrates a network architecture 300, in accordance with oneembodiment. As shown in FIG. 3 , a plurality of remote networks 302 areprovided, including a first remote network 304 and a second remotenetwork 306. A gateway 301 may be coupled between the remote networks302 and a proximate network 308. In the context of the present networkarchitecture 300, the networks 304, 306 may each take any formincluding, but not limited to, a LAN, a WAN, such as the Internet,public switched telephone network (PSTN), internal telephone network,etc.

In use, the gateway 301 serves as an entrance point from the remotenetworks 302 to the proximate network 308. As such, the gateway 301 mayfunction as a router, which is capable of directing a given packet ofdata that arrives at the gateway 301, and a switch, which furnishes theactual path in and out of the gateway 301 for a given packet.

Further included is at least one data server 314 coupled to theproximate network 308, which is accessible from the remote networks 302via the gateway 301. It should be noted that the data server(s) 314 mayinclude any type of computing device/groupware. Coupled to each dataserver 314 is a plurality of user devices 316. Such user devices 316 mayinclude a desktop computer, laptop computer, handheld computer, printer,and/or any other type of logic-containing device. It should be notedthat a user device 311 may also be directly coupled to any of thenetworks in some embodiments.

A peripheral 320 or series of peripherals 320, e.g., facsimile machines,printers, scanners, hard disk drives, networked and/or local storageunits or systems, etc., may be coupled to one or more of the networks304, 306, 308. It should be noted that databases and/or additionalcomponents may be utilized with, or integrated into, any type of networkelement coupled to the networks 304, 306, 308. In the context of thepresent description, a network element may refer to any component of anetwork.

According to some approaches, methods and systems described herein maybe implemented with and/or on virtual systems and/or systems, whichemulate one or more other systems, such as a UNIX system that emulatesan IBM z/OS environment, a UNIX system that virtually hosts a MICROSOFTWINDOWS environment, a MICROSOFT WINDOWS system that emulates an IBMz/OS environment, etc. This virtualization and/or emulation may beimplemented through the use of VMWARE software in some embodiments.

FIG. 4 shows a representative hardware system 400 environment associatedwith a user device 316 and/or server 314 of FIG. 3 , in accordance withone embodiment. In one example, a hardware configuration includes aworkstation having a central processing unit 410, such as amicroprocessor, and a number of other units interconnected via a systembus 412. The workstation shown in FIG. 4 may include a Random AccessMemory (RAM) 414, Read Only Memory (ROM) 416, an I/O adapter 418 forconnecting peripheral devices, such as disk storage units 420 to the bus412, a user interface adapter 422 for connecting a keyboard 424, a mouse426, a speaker 428, a microphone 432, and/or other user interfacedevices, such as a touch screen, a digital camera (not shown), etc., tothe bus 412, communication adapter 434 for connecting the workstation toa communication network 435 (e.g., a data processing network) and adisplay adapter 436 for connecting the bus 412 to a display device 438.

In one example, the workstation may have resident thereon an operatingsystem, such as the MICROSOFT WINDOWS Operating System (OS), a MAC OS, aUNIX OS, etc. In one embodiment, the system 400 employs a POSIX® basedfile system. It will be appreciated that other examples may also beimplemented on platforms and operating systems other than thosementioned. Such other examples may include operating systems writtenusing JAVA, XML, C, and/or C++ language, or other programming languages,along with an object oriented programming methodology. Object orientedprogramming (OOP), which has become increasingly used to develop complexapplications, may also be used.

FIG. 5 is a block diagram illustrating a system 500 that may be employedfor genomic distance, diagnostics testing, microbiological testing,clinical testing, and test design processing, according to oneembodiment. In one embodiment, the system 500 includes client devices510 (e.g., mobile devices, smart devices, computing systems, etc.), acloud or resource sharing environment 520 (e.g., a public cloudcomputing environment, a private cloud computing environment, adatacenter, etc.), and servers 530. In one embodiment, the clientdevices are provided with cloud services from the servers 530 throughthe cloud or resource sharing environment 520.

In the system 500, the client devices 510 may use one or moreembodiments for the following applications. The client devices 510 maybe used for heredity applications including: disease factors, genes,prenatal screening, paternity testing, etc. The client devices 510 maybe applied for classification of animal breeds (e.g., for pets,livestock, etc.); disease: prognosis (e.g., for cancer, etc.), diagnosis(e.g., cancer, etc.). The client devices 510 may be used for organismdetection: pathogen detection: viruses (quasispecies characterization);bacteria: distribution of genetic composition, distribution ofquasispecies, etc. Further applications may include detection ofgenetically modified organisms (GMO), for engineered organisms(Biosecurity), detecting hybrids, for food safety applications, and forgene function (antibiotic, livestock traits, plant traits, etc.).

Some embodiments may use the client devices 510 for a dynamic zoomablevisualization distance explorer for determining/representing heredity ofan organism or set of organisms: for classification of: domesticatedanimals (e.g., dog breeds, cat breeds, steers, etc.); for a dynamiczoomable visualization distance explorer determining/representingprognosis of an individual based on genetic similarity to a set relatedcases (e.g., cancer, etc.); a dynamic zoomable visualization distanceexplorer determining/representing diagnosis of an individual based ongenetic similarity to a set related cases; a dynamic zoomablevisualization distance explorer to determining/representing thedistribution of organisms with similarity to a nucleic acid sequence orset of sequences: in order to: detect and characterize a quasispecies ofviruses; detect and characterize a population of bacteria; detect andcharacterize a population of Fungi; determine/represent genes thatproduce a defined phenotype of an organism and/or community oforganisms: that change the yield of a chemical or compound or complexproduct; that allows for the production of a chemical or compound nottypical of the organism; determine/regulate the sex of the organism;determine/regulate the sterility of the organism; that change thetolerance of the organism to an environmental condition: temperature(high or low); moisture; salinity; low concentration of chemical orcompound in the environment; and high concentration of chemical orcompound in the environment; to determine/represent genetic modificationof an organism for food safety: detection of genetically modified plants(that change the yield of a chemical or compound or complex product;that allows for the production of a chemical or compound not typical ofthe organism; determine/regulate the sex of the organism;determine/regulate the sterility of the organism; that change thetolerance of the organism to an environmental condition: temperature(high or low), moisture, salinity, low concentration of chemical orcompound in the environment, and high concentration of chemical orcompound in the environment; detect of genetically modified animals:that change the yield of a chemical or compound or complex product; thatallows for the production of a chemical or compound not typical of theorganism; determine/regulate the sex of the organism; determine/regulatethe sterility of the organism; that change the tolerance of the organismto an environmental condition: temperature (high or low), moisture,salinity, low concentration of chemical or compound in the environment,and high concentration of chemical or compound in the environment; todetermine/represent genetic modification of an organism for biosecurity:detection of insertion of sequences that change the phenotype of anorganism: detection of insertion of virulence genes, detection ofinsertion of antibiotic resistance genes, detection of insertion ofsequences that change the niche of an organism, and detection ofinsertion of sequences that change the mode of transmission of anorganism; for antibiotic resistance; virulence genes; livestock traits;and plant traits: changing the yield of a product and change thetolerance of an organism to extreme environments.

Some embodiments may use the client devices 510 for configuration of apop-up bubble for dynamic zoomable visualization distance explorer thatdisplays metadata of the organism(s) represented. Another application ofthe client devices 510 may be for a dynamic zoomable visualizationdistance explorer representing the members of a set that are detected bya biological or chemical detection technique: detection by: nucleic acidbased amplification techniques (e.g., polymerase chain reaction (PCR));protein based amplification techniques; nucleic acid based hybridizationtechniques; protein based hybridization techniques; serologicaltechniques; chemical based amplification techniques and chemical basedhybridization techniques. Other applications of the client devices 510may include a dynamic zoomable visualization distance explorerpredicting the members of a set that are detected by a biological orchemical detection technique for detection by: nucleic acid basedamplification techniques; protein based amplification techniques;nucleic acid based hybridization techniques; protein based hybridizationtechniques; serological techniques; chemical based amplificationtechniques; and chemical based hybridization techniques.

FIG. 6 illustrates a block diagram for a process 600 to construct aself-consistent taxonomy, according to one embodiment. In the process600, one intermediate result is the generation of a matrix M_(ij) of allgenome-genome, gene-gene, protein-protein, or (in general)sequence-sequence distances, where i and j are positive integers (andrepresent row and column, respectively). The process 600 may beimplemented using a number of algorithms, such as MinHash or theMeier-Kolthoff methodologies. In one embodiment, a sequence (genome)collection 610 (or other sequence collection, such as genes, proteins,nucleic acid, biological domains, etc.) are obtained as input to theprocess 600. In one embodiment, genome (or other sequence) qualitycontrol may be applied to the sequence collection 610. This optionalquality control 620 may include, for example, genome length, length ofdistribution, etc. Next the process 600 performs whole sequence-sequence(e.g., genome-genome, gene-gene, protein-protein, etc.) distancecalculations 630 for the complete sequence collection 610, forming thematrix M_(ij). The matrix M_(ij) is then used as input to a hierarchicalclustering algorithm 640, such as linkage that computes theself-consistent taxonomy 650 from the actual difference (or similarity)between the respective sequences (e.g., genomes, genes, etc.). The orderof the Leaf nodes in the self-consistent hierarchical clusteringproduced by linkage can be used to sort the elements i,j (rows andcolumns) of the matrix M_(ij). This sorted matrix may then be renderedas a heat map 700 (FIG. 7 ). In one embodiment, the matrix M_(ij) may begenerated or processed by distributing the computations over acollection of processing devices, such as multi-processors, servers(e.g., cloud servers, physical servers, etc.), etc. Each processingdevice receives a portion of the matrix M_(ij) computation to perform(e.g., in parallel). The final result of the M_(ij) is assembledtogether from the processing devices. In one embodiment, theself-consistent hierarchical clustering produced by linkage (minimumspanning tree) is performed by the collection of processing devices(e.g., in parallel).

FIG. 7 illustrates an example 700 of static heat map image 702 of size1250×1250 showing whole genome-genome distance between all Salmonellagenomes in the public RefSeq library, according to one embodiment. Theheat map image 700 includes the X axis 701, Y axis 702 and the diagonalline 710 where X=Y. This static image of size 1250×1250 shows the wholegenome-genome distance between all Salmonella genomes in the publicRefSeq library. The bright yellow squares along the diagonal line 710are different subspecies or serovars of Salmonella. There are over60,000 public Salmonella genomes available today. Fine structure(detailed distance variation) is evident between genomes of the sameserotype, but it is impossible to render a matrix with resolution60,000×60,000 in an image of size 1250×1250. To address this problem, inone embodiment a dynamic sequence (e.g., genome) explorer 800 (FIG. 8 )provides the ability to zoom-in and zoom-out of the full resolutionmatrix where each increase of magnification provides a higher resolutionview of the data.

FIG. 8 illustrates an example sequence explorer 800 running as a webapplication (in a browser), according to one embodiment. In the examplegenome-genome panel 850, over 170,000 high quality genomes from 60different genera are rendered in the sequence explorer 800. Each heatmap panel in FIGS. 8-11 (i.e., heat map panel 850, heat map panel 950,heat map panel 1050 and heat map panel 1150, respectively) shows thesame data at increasing magnification up to a resolution showing thegenomic distance between individual genomes. The zoom function may beactivated by, for example, a mouse, up/down arrows on the keyboard, afinger expansion/pinch on a touch screen, a sensed hand gesture, voicecommand, etc. At the location of a pointer on the heat map panel 850, anoptional metadata window 860 appears showing information about the twogenomes G_(i) and G_(j), at location x,y in the displayed image. In oneembodiment, the sequence explorer 800 may include metadata selections.For example, the sequence explorer 800 may include data view 805 (e.g.,selected data from a drop-down menu), genome groups 810, PCR primers820, etc. On the left-side and the upper-side of the heat map panel 850,taxonomic tree segments 840 and 845 show the hierarchical clustering(e.g., linkage, etc.) used to sort the heat map 850. This is shown inwhite as a taxonomic tree. The taxonomic tree also dynamically scan andzooms with the heat map 850 image.

In one embodiment, the metadata selections information displayed may beconfigurable by a properties definition. The metadata information mayinclude, for example, the accession number of each genome, the wholegenome-genome distance value (also visible as the color of the selectedcoordinate in the heat map panel 850 of M_(ij)), the taxonomic name withtaxonomic rank, etc.

FIG. 9 illustrates the example sequence explorer 800 of FIG. 8 shown ata first increased magnification, according to one embodiment. Thezoomed-in heat map panel 950 is shown magnified from the heat map panel850 (FIG. 8 ). At the location of a pointer on the heat map panel 950,an optional metadata window 960 appears showing information about thetwo genomes G_(i) and G_(j), at location x,y in the displayed image. Onthe upper-side of the heat map panel 950, a taxonomic tree segment 845is also zoomed-in since the taxonomic tree dynamically scans and zoomswith the heat map panel 950 image.

FIG. 10 illustrates the example sequence explorer 800 of FIG. 8 shown ata second increased magnification, according to one embodiment. Thesequence explorer in this example is shown in browser 1000. Thezoomed-in heat map panel 1050 is shown magnified from the heat map panel950 (FIG. 9 ). At the location of a pointer on the heat map panel 1050,an optional metadata window 1060 appears showing information about thetwo genomes G_(i) and G_(j), at location x,y in the displayed image.Note that based on the magnification from zooming-in, the taxonomic treeis not shown due to the magnification of the heat map panel 950.

FIG. 11 illustrates the example sequence explorer 800 of FIG. 8 shown ata third increased magnification, according to one embodiment. Thezoomed-in heat map panel 1150 is shown magnified from the heat map panel1050 (FIG. 10 ). At the location of a pointer on the heat map panel1150, an optional metadata window 1160 appears showing information aboutthe two genomes G_(i) and G_(j), at location x,y in the displayed image.Note that based on the magnification from zooming-in, the taxonomic treeis not shown due to the magnification of the heat map panel 1150.

FIG. 12 illustrates the example sequence explorer 800 of FIG. 8 shown ata fourth increased magnification, according to one embodiment. Thezoomed-in heat map panel 1250 is shown magnified from the heat map panel1150 (FIG. 11 ). At the location of a pointer on the heat map panel1250, an optional metadata window 1260 appears showing information aboutthe two genomes G_(i) and G_(j), at location x,y in the displayed image.Note that based on the magnification from zooming-in, the taxonomic treeis not shown due to the magnification of the heat map panel 1250.

FIG. 13 illustrates an example of the sequence explorer 800 implementedin a diagnostic or clinical application, according to one embodiment. Inthis application of the sequence explorer 800 showing the heat map panel1350, a translucent overlay (see slider labeled “opacity” 830) ofconfigurable color is used to highlight all example of genomes within aselected group. The group may be a particular serovar or species alreadywithin the reference database, or it may be a group defined by sequencedata from a set of biological or medical samples. For example in a largefoodborne disease outbreak samples taken from many patients (or manyfood samples, factories, or factory tools) will often be obtained.Measuring whole genome-genome distance (sequence collection 610, FIG. 6) between these samples with each other and/or with the referencedatabase is then used to highlight the ‘nearest’ reference genomes tothe samples. Here nearest is defined as those reference genomes with thesmallest whole genome-genome distance to each sample. In this example,different groups are shown at once (in the example both Klebsiella 1310and Listeria 1311). In a diagnostic application, clinicians are morelikely to view one set at a time. For this example, the translucentoverlay 1330 is selected for Listeria 1311 and the translucent overlay1340 is selected for Klebsiella 1310. At the location of a pointer onthe heat map panel 1350, an optional metadata window 1360 appearsshowing information about the two genomes G_(i) and G_(j), at locationx,y in the displayed image. On the left-side of the heat map panel 1350,a taxonomic tree segment 840 is shown. The intersection 1320 of thetranslucent overlay 1330 shows where x=y.

FIG. 14 illustrates an example of the sequence explorer 800 implementedto verify PCR primer design, according to one embodiment. Manymicrobiological testing and rapid testing applications make use of“primers.” A “primer” is a short RNA or DNA sequence that serves as astarting point for DNA synthesis. A primer is required because theenzymes that catalyze DNA synthesis can only add nucleotides to anexisting strand (i.e., they require a starting point or primer). With asuitable primer, a target sequence of DNA may be used to amplify onlythose DNA molecules within a sample that have the target sequence. Ifthe target sequence is, for example, unique to a particular pathogenicorganism, the PCR primer (combined with a simple color change reaction)may be used to rapidly determine if the DNA sample contains (comes from)the organisms in question. This is rapid PCR. It is used for manyclinical and biosafety applications. The test requires that:

-   -   1. The PCR primer molecule is built from a sequence in a        particular target organism. This determines the test's ability        to be sensitive to true positive samples.    -   2. The PCR primer is specific to the target and not to DNA from        organisms not in the target group. This determines the ability        of the test to be specific (low or zero false positives).        Selecting a sequence with high specificity and high sensitivity        is the process of PCR primer design. To be approved by the Food        and Drug Administration (FDA), a primers' specificity and        sensitivity must be verified.

In one embodiment, the heat map panel 1450 shows how the sequenceexplorer 800 is used for PCR primer design and verification. A providedsequence is entered and all genomes that contain the sequence (or thatcontain sequences within a specified distance from the target arehighlighted with a color overlay 1410). The sequence is designed to hita particular taxonomic group visible as square regions in the sequenceexplorer 800. Genomes within the target serotype that should be “hit” bythe target sequence but are not, are evident as black lines in thevertical and horizontal bands overlaying the target serotype in thehighlighted color overlay 1410. These black lines indicate likely falsenegative test results. Conversely, the color overlay 1410 that hitsgenomes outside of the target group (e.g., indicated by line 1420)identify likely false positive (FP) test results. The true positive (TP)rate (TPR), and false positive rates (FPR) can be measured directly withthe sequence explorer 800 and reported as:

${TPR} = {{\frac{\sum{TP}}{\sum{{condition}{positive}}}{and}{FPR}} = \frac{\sum{FP}}{\sum{{condition}{negative}}}}$

At the location of a pointer on the heat map panel 1450, an optionalmetadata window 1460 appears showing information about the two genomesG_(i) and G_(j), at location x,y in the displayed image.

FIG. 15 illustrates an example of the sequence explorer 800 with aselectable hue configuration 1540, according to one embodiment. In oneembodiment, the selectable opacity configuration 830 is also available.The translucent overlay 1530 of configurable color is used to highlightall example of genomes within a selected group. On the left-side of theheat map panel 1550, a taxonomic tree segment 840 is shown. In thisexample, Listeria 1311 is selected. In this example, a default opacityconfiguration 830 and a default hue configuration 1540 are shown, andthe translucent overlay 1530 is selected for Listeria 1311.

FIG. 16 illustrates the example of the sequence explorer 800 of FIG. 15with a particular opacity 830 and hue 1540 set, according to oneembodiment. In this example, the opacity 830 is set to 0.9 (out of 1.0)and the hue 1540 is selected as a shade of green. In this example,Listeria 1311 is selected and the translucent overlay 1630 is selectedfor the Listeria 1311.

FIG. 17 illustrates the example of the sequence explorer 800 of FIG. 15with another opacity 830 and hue 1540 set, according to one embodiment.In this example, the opacity 830 is set to 0.9 (out of 1.0) and the hue1540 is selected as a shade of pink. In this example, Listeria 1311 isselected and the translucent overlay 1730 is selected for the Listeria1311.

FIG. 18 illustrates an example graphical user interface (GUI) 1800 forinputting a sequence, according to one embodiment. In one embodiment,the GUI 1800 may be part of an initial set-up or dynamic initializationfor the sequence explorer 800, as described above. In one embodiment,the GUI 1800 includes an input for name or identification (ID) 1810,group 1820, sequence 1830 and a selection 1840 for uploading thesequence inputs. In some embodiments, the sequence inputs may befree-hand entered, selected from a drop-down list, selected from apop-up window list, searched for, etc.

FIG. 19 illustrates an example GUI 1900 for selecting a sequence,according to one embodiment. In one embodiment, the GUI 1900 may be partof an initial set-up or dynamic initialization for the sequence explorer800, as described above. In one embodiment, the GUI 1900 includes aninput for name or ID 1910, search 1920 and a selection 1930 forselecting saved recent, yours (a user's saved input), and group savedinput, which the lists may be expanded. In some embodiments, thesequence inputs may be free-hand entered, selected from a drop-downlist, selected from a pop-p window list, searched for, etc.

FIG. 20 illustrates a block diagram for process 2000 for selectivelycontrolling visual content of biological sequence-sequence distances fora complete biological collection, according to one embodiment. In oneembodiment, in block 2010 process 2000 includes determining, by at leastone processor (e.g., a multi-processor, a set of processors, at leastone processor or at least one computing device from computingenvironment 50 (FIG. 1 ), network architecture 300 (FIG. 3 ), hardwaresystem 400 (FIG. 4 ), or system 500 (FIG. 5 )), multiplesequence-sequence distances for a biological sequence collection (e.g.,sequence (genome) collection 610, FIG. 6 ). In block 2020, process 2000generates, by the at least one processor, a matrix M_(ij) of themultiple sequence-sequence distances (i and j are positive integers andrepresent rows and columns, respectively). In block 2030, process 2000generates, by the at least one processor, clusters for the matrix M_(ij)by performing hierarchical clustering (e.g., hierarchical clustering640, FIG. 6 ) on the matrix M_(ij). In block 2040, process 2000 createsa self-consistent taxonomy (e.g., self-consistent taxonomy 650, FIG. 6 )from the clusters. In block 2050, process 2000 selectively controls avisual heat map (e.g., heat map 850, FIG. 8 ) display of the matrixM_(ij) using metadata, zoom input and opacity input.

In one embodiment, for process 2000 the sequence collection may includeat least one of: genomes, genes, proteins, nucleic acid, and biologicaldomains. In some embodiments, the metadata includes: at least one groupof: genomes, PCR primers, genes, proteins, nucleic acid and biologicaldomains. The zoom input may include zoom-in input and zoom-out input.Selectively controlling the visual heat map display of the matrix M_(ij)may further include using selectable hue input.

In one embodiment, for process 2000 the hierarchical clustering may bebased on at least one of: MinHash clustering, Meier-Kolthoff clustering,clustered from sequence distances by sequence alignment, agglomerativeclustering, and divisive hierarchical clustering. In one embodiment, theagglomerative and divisive hierarchical clustering are ordered using oneof: a single linkage clustering process, a complete linkage clusteringprocess, an average linkage clustering process, and a centroid linkageclustering process.

In one embodiment, the visual heat map display represents members of aset based on detecting one of a biological and a chemical detectionprocess. In one embodiment, the detecting may include detection by:nucleic acid based amplification, protein based amplification, nucleicacid based hybridization, protein based hybridization, a serologicalprocess, chemical based amplification, and chemical based hybridization.

In one embodiment, process 2000 may further include generating a bubbledisplay that is overlaid on the heat map, where the bubble display mayinclude a configurable metadata that includes at least one of: genomeaccession, genome taxonomy identification (TaxID), gene features,functional features and most effective medicinal treatment.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

References in the claims to an element in the singular is not intendedto mean “one and only” unless explicitly so stated, but rather “one ormore.” All structural and functional equivalents to the elements of theabove-described exemplary embodiment that are currently known or latercome to be known to those of ordinary skill in the art are intended tobe encompassed by the present claims. No claim element herein is to beconstrued under the provisions of 35 U.S.C. section 112, sixthparagraph, unless the element is expressly recited using the phrase“means for” or “step for.”

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplate.

What is claimed is:
 1. A method comprising: receiving a selection of agroup of genomes; generating, by at least one processor, a heat mappanel; displaying a visualization comprising the heat map panel;highlighting one or more genomes of the selected group in the heat mappanel with a translucent overlay; measuring genome-genome distancebetween the one or more genomes; and highlighting, based on thegenome-genome distance, one or more additional genomes nearest to theone or more genomes with an additional translucent overlay.
 2. Themethod of claim 1, wherein the one or more additional genomes has thesmallest genome-genome distance to the one or more genomes.
 3. Themethod of claim 1, wherein the one or more genomes and the one or moreadditional genomes are highlighted simultaneously.
 4. The method ofclaim 1, wherein the one or more genomes and the one or more additionalgenomes are highlighted one at a time.
 5. The method of claim 1, furthercomprising: providing a metadata window for display in response tolocation of a pointer on the heat map panel, wherein the metadata windowshows information about two genomes at the location.
 6. The method ofclaim 1, wherein the visualization further comprises a taxonomic treethat dynamically scans and zooms with the heat map panel.
 7. A computerprogram product for selectable control for self-consistent taxonomy forsequence distances, the computer program product comprising a computerreadable storage medium having program instructions embodied therewith,the program instructions executable by at least one processor to causethe at least one processor to: receive a selection of a group ofgenomes; generate a heat map panel; display a visualization comprisingthe heat map panel; highlight one or more genomes of the selected groupin the heat map panel with a translucent overlay; measure genome-genomedistance between the one or more genomes; and highlight, based on thegenome-genome distance, one or more additional genomes nearest to theone or more genomes with an additional translucent overlay.
 8. Thecomputer program product of claim 7, wherein the one or more additionalgenomes has the smallest genome-genome distance to the one or moregenomes.
 9. The computer program product of claim 7, wherein the one ormore genomes and the one or more additional genomes are highlightedsimultaneously.
 10. The computer program product of claim 7, wherein theone or more genomes and the one or more additional genomes arehighlighted one at a time.
 11. The computer program product of claim 7,wherein the program instructions are further executable by the at leastone processor to cause the at least one processor to: provide a metadatawindow for display in response to location of a pointer on the heat mappanel, wherein the metadata window shows information about two genomesat the location.
 12. The computer program product of claim 7, whereinthe visualization further comprises a taxonomic tree that dynamicallyscans and zooms with the heat map panel.
 13. A system comprising: amemory storing instructions; and at least one processor that executesthe instructions to perform a process comprising: receiving a selectionof a group of genomes; generating, by at least one processor, a heat mappanel; displaying a visualization comprising the heat map panel;highlighting one or more genomes of the selected group in the heat mappanel with a translucent overlay; measuring genome-genome distancebetween the one or more genomes; and highlighting, based on thegenome-genome distance, one or more additional genomes nearest to theone or more genomes with an additional translucent overlay.
 14. Thesystem of claim 13, wherein the one or more additional genomes has thesmallest genome-genome distance to the one or more genomes.
 15. Thesystem of claim 13, wherein the one or more genomes and the one or moreadditional genomes are highlighted simultaneously.
 16. The system ofclaim 13, wherein the one or more genomes and the one or more additionalgenomes are highlighted one at a time.
 17. The system of claim 13,wherein the process further comprises: providing a metadata window fordisplay in response to location of a pointer on the heat map panel,wherein the metadata window shows information about two genomes at thelocation.
 18. The system of claim 13, wherein the visualization furthercomprises a taxonomic tree that dynamically scans and zooms with theheat map panel.